FROM alpine:3.16.2

LABEL maintainer="zhanglm8@chinatelecom.cn"

# 更新 yum 源到 tuna.tsinghua，安装 node、yarn
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \
  && apk add --update nodejs=16.17.1-r0 npm=8.10.0-r0 \
  && npm install -g yarn

# 拷贝构建好的 cli、service 到镜像内
COPY --chown=root:root ./cli/ /var/cns-frontend/cli/
COPY --chown=root:root ./proxyService/ /var/cns-frontend/proxyService/

RUN (cd /var/cns-frontend/cli && yarn link)

ARG PROXY_SERVICE_LISTEN_PORT="4000"
ENV PROXY_SERVICE_LISTEN_PORT ${PROXY_SERVICE_LISTEN_PORT}

# 启动 service
# 服务器中可能无法访问公网，CMD 中不应当有任何连接公网的活动（比如从软件源安装、更新依赖等）
CMD echo -e "\n\n42.123.120.53   	eop-test.ctyun.cn" >> /etc/hosts \
  && echo -e "203.55.10.36    	wwwtest.ctyun.cn" >> /etc/hosts \
  && cns-cli local -t service -m proxy -e $API_ENV -p $PROXY_SERVICE_LISTEN_PORT -s --skip-install

EXPOSE ${PROXY_SERVICE_LISTEN_PORT}
